import request from '@/utils/request'
/**
 * 账号密码注册
 * @param {String} account - 账号
 * @param {String} password - 密码
 * @param {String} mobile - 手机号
 * @param {String} code - 验证码
 * @param {String} type - 平台类型 默认PC不传值， app客户端注册需传值为app
 * @returns
 */
export const userAccountRegist = ({ account, password, mobile, code, type }) => {
  return request('/register', 'post', { account, password, mobile, code, type })
}
/**
 * 获取手机验证码注册
 * @param {String} mobile - 手机号
 * @returns
 */
export const getRegMobileCode = (mobile) => {
  return request('/register/code', 'get', { mobile })
}
/**
 * 账号密码登录
 * @param {String} account - 账号
 * @param {String} password - 密码
 * @returns
 */
export const userAccountLogin = ({ account, password }) => {
  return request('/login', 'post', { account, password })
}
/**
 * 手机验证码登录
 * @param {String} mobile - 手机号
 * @param {String} code - 验证码
 * @returns
 */
export const userMobileLogin = ({ mobile, code }) => {
  return request('/login/code', 'post', { mobile, code })
}
/**
 * 登录获取手机验证码
 * @param {String} mobile - 手机号
 * @returns
 */
export const getMobileCode = (mobile) => {
  return request('/login/code', 'get', { mobile })
}
/**
 * 用户第三方QQ登录
 * @param {String} unionId - QQ唯一标识，openId
 * @param {int} source - 客户端类型 1为PC,6为qq
 * @returns
 */
export const userQQLogin = ({ unionId, source = 1 }) => {
  return request('/login/social', 'post', { unionId, source })
}
/**
 * 用户QQ登录时绑定需要的短信验证码
 * @param {String} mobile - 手机号
 * @returns
 */
export const userQQBindCode = (mobile) => {
  return request('/login/social/code', 'get', { mobile })
}
/**
 * QQ登录-绑定帐号
 * @param {String} unionId - QQ唯一标识，openId
 * @param {String} mobile - 手机号
 * @param {String} code - 验证码
 * @returns
 */
export const userQQBindLogin = ({ unionId, mobile, code }) => {
  return request('/login/social/bind', 'post', { unionId, mobile, code })
}
/**
 * 校验账号是否存在
 * @param {String} account - 账号
 * @returns
 */
export const userCheckAccount = (account) => {
  return request('/register/check', 'get', { account })
}
/**
 * QQ登录时完善信息获取手机号验证码
 * @param {String} mobile - 手机号
 * @returns
 */
export const userQQPatchCode = (mobile) => {
  return request('/register/code', 'get', { mobile })
}
/**
 * QQ完善信息后登录
 * @param {String} unionId - QQ唯一标识，openId
 * @param {String} mobile - 手机号
 * @param {String} code - 验证码
 * @param {String} account - 用户名
 * @param {String} password - 密码
 * @returns
 */
export const userQQPatchLogin = ({ unionId, mobile, code, account, password }) => {
  return request(`/login/social/${unionId}/complement`, 'post', { unionId, mobile, code, account, password })
}
/**
 * 忘记密码 -- 验证账户
 * @param {params} 包含参数 account code uuid
 * @returns
 */
export const verifyAccount = (params) => {
  return request('/reset/account/check', 'get', params)
}
/**
 * 忘记密码 -- 获取短信验证码
 * @param {string} ticket上一步中返回的ticket
 * @returns
 */
export const findMobileCode = (ticket) => {
  return request('/reset/mobile/code', 'get', { ticket })
}
/**
 * 忘记密码 -- 验证手机验证码
 * @param {params} 包含参数 code ticket
 * @returns
 */
export const verifyMobileCode = (params) => {
  return request('/reset/mobile/check', 'get', params)
}
/**
 * 忘记密码 -- 设置新密码
 * @param {params} 包含参数 password ticket
 * @returns
 */
export const setNewPassword = (params) => {
  return request('/reset/password', 'put', params)
}
